package com.shopping.mall.core.module.goodData.service;

import com.shopping.mall.base.http.Result;
import com.shopping.mall.core.module.goodData.entity.GoodData;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shopping.mall.core.module.goodData.entity.GoodDataQueryVO;
import com.shopping.mall.core.module.order.entity.Order;

import java.text.ParseException;
import java.util.List;

/**
 * <p>
 * GoodData服务类
 * </p>
 *
 * @author zzy
 * @date 2021-09-02
 */
public interface GoodDataService extends IService<GoodData> {

    /**
    * 分页查询
    * @param current ：页码
    * @param size ：每页条数
    * @param goodData ：筛选条件
    * @return IPage<GoodData>
    */
    IPage<GoodData> getGoodDataPage(Integer current, Integer size, GoodDataQueryVO goodData);

    /**
    * 查询所有
    * @param goodData ：筛选条件
    * @return List<GoodData>
    */
    List<GoodData> getAll(GoodDataQueryVO goodData);

    /**
    * 通过id删除
    * @param id：goodDataId
    * @return Result<Object>
    */
    Result<Object> deleteById(String id);

    /**
    * 批量删除
    * @param ids：id列表
    * @return Result<Object>
    */
    Result<Object> batchDelete(List<String> ids);

    /**
     * 商品访问
     * @param goodData
     */
    void addVisit(GoodData goodData);

    /**
     * 下单
     * @param order
     */
    void addOrder(Order order) throws ParseException;
}
